Image quality control techniques

ABSTRACT

A technique for controlling the quality of one or more compressed images. The technique allows, for example, the selection of a target quality metric(s) and the compression of the image(s) such the compressed image(s) meets the metric(s). Alternatively, a target quality metric can be specified, and the image(s) compressed using parameters estimated to achieve the target quality. Optionally, the quality metric can also be made available to, for example, a user on an image processing system. The quality metrics can be, for example, for one or more layers, one or more images and/or one or more image sequences.

RELATED APPLICATION DATA

This application claims the benefit of and priority under 35 U.S.C.§119(e) to U.S. Patent Application No. 60/476,100, filed Jun. 5,2003,entitled “Image Quality Control Techniques for JPEG2000,” which isincorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to images. In particular, an exemplary aspect ofthis invention relates to quality control for image compression.

2. Description Of Related Art

With the dependence on multimedia technologies becoming greaterexponentially, image compression techniques need to correspondinglyincrease in performance. The JPEG2000 standard is intended to providerate distortion and subjective image quality performance superior toexisting standards, and to also provide features and functionalitiesthat current standards address only partially or do not address at all.The JPEG2000 standard is designed to address requirements of a diversityof applications, for example, images, internet multimedia, colorfacsimile, printing, color printing, scanning, digital photography,remote sensing, mobile application, medical imagery, digital libraries,and e-commerce, just to name a few.

The JPEG2000 standard is the new image compression standard created byISO/IEC JTC1 SC29 Working Group 1, also known as the Joint PhotographicExperts Group (JPEG). Part 1 of the JPEG2000 standard, which isincorporated herein by reference in its entirety, addresses thecompression of still images.

As is common with the majority of compression standards, Part 1 of theJPEG2000 standard is a decoder standard. The standard addresses thesyntax of the compressed code stream and the required behavior of thedecoder, i.e., exactly how the decoder is to decode a compliant codedstream. Although the encoding process is implicitly dictated by thestandard, not all encoding details are specified by the standard. Infact, there are several decisions and options that are left up to theencoder. A simple example is the number of wavelet transform levels,which is strictly an encoder determined option. Specifically, the numberof transform levels is not dictated by the standard, only a range ofallowable values, i.e., from 0 to 32, is provided.

SUMMARY OF THE INVENTION

Another important decision an encoder must make is that of rateallocation or rate control. The encoder must determine how to choosequantization binwidths and determine if and how to truncate the encodedbitstream. The decisions made can impact both the compressed image sizeand the resulting image quality of the compressed image.

JPEG2000 image compression allows both lossless and lossy compression ofimages. Lossless compression stipulates that, after decompression, animage identical to the original image is produced. Lossy compression onthe other hand, indicates that, after decompression, an image which is arepresentation, but not identical to, the original image is produced.

During lossy compression, distortion or data loss is introduced in thesteps of the compression process. The sources of this distortioninclude, for example, implementation precision, quantization distortion,codestream truncation, and the like.

Specifically, implementation precision introduces distortion duringimage processing and operations. This distortion is associated with thefact that the required arithmetic operations are not performed withinfinite precision. Since some of the operands are irrational numbersthey are necessarily approximated. The precision of theseapproximations, e.g., 32 bit or 16 bit, can directly affect the qualityof the resulting image.

A second way that distortion is introduced is via quantization.Quantization is the process of mapping the calculated waveletcoefficients, which are the result of applying the wavelet transform tothe original image, to a set of integer indices. The set of uniqueinteger indices is smaller than the set of unique input waveletcoefficients. During the dequantization process, each integer index ismapped to a representative wavelet coefficient value. This introducesdistortion since the representative value is an approximation of theoriginal wavelet coefficient. After quantization, the quantized waveletcoefficients are encoded into codestreams.

A third way distortion is introduced is the truncation of these encodedcodestreams. The decisions on how to truncate might be based on desiredcompressed image size or desired compressed image quality.

Accordingly, exemplary embodiments of the invention provide a techniquefor controlling the quality of one or more compressed images. Thetechnique allows, for example, the selection of a target qualitymetric(s) and the compression of the image(s) such the compressedimage(s) meets the metric(s).

It should be appreciated that the techniques disclosed herein can beexpanded to any type or format of image, image sequence or motion video.Additionally, the techniques disclosed herein can be applied to thecompression of time-series data, such as video sequences, as well asother 3-dimensional data sets, such as medical data, such as, forexample, CAT or MRI scans, which are 2-dimensional slices cut along avolume, and hyperspectral data, which are 2-dimensional images differingby the acquisition spectral band, i.e., their color.

Additionally, the exemplary systems and methods discussed herein providea technique for quality control for compressing a video sequence usingMotion JPEG2000. The quality control techniques can be used for one ormore images in the sequence. In addition, the technique can be used forcontrolling the quality of the entire sequence as a whole. Accordingly,the exemplary systems and methods of this invention at least provide atechnique for controlling one or more image quality compressionparameters for a series of images and/or an image sequence.

Aspects of the invention relate to image quality control techniques.

Aspects of the invention also relate to estimating the quality of acompressed image during compression.

Additional aspects of the invention relate to controlling the quality ofa compressed image by estimating and/or measuring the distortion duringcompression.

Aspects if the invention further relate to determining quantizationdistortion.

Aspects of the invention are also directed toward determining the amountof distortion introduced by selecting certain truncation points duringthe compression process.

Further aspects of the invention relate to determining compressioncharacteristics predicted to meet an image and/or image layer qualitymetric.

Additional aspects of the invention relate to analyzing one or moreimage characteristics and obtaining binwidths likely to meet one or moreimage or image layer quality metrics.

Aspects of the invention also relate to adjusting one or more ofquantization tables and truncation points to ensure a compressedimage(s) meets a quality metric(s).

Aspects of the invention further relate to selecting truncation pointssuch that one or more quality metrics are met.

These and other features and advantages of this invention are describedin, or are apparent from, the following detailed description of theembodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of this invention will be described in detail, withreference to the following figures, wherein:

FIG. 1 illustrates an exemplary compression system according to thisinvention;

FIG. 2 is a flowchart illustrating an exemplary compression methodaccording to this invention;

FIG. 3 is a flowchart illustrating a second. exemplary compressionmethod according to this invention;

FIG. 4 is a flowchart illustrating a third exemplary compression methodaccording to this invention; and

FIGS. 5-7 are plots illustrating the performance of the exemplarytechniques according to this invention.

DETAILED DESCRIPTION

The exemplary systems and methods of this invention will be described inrelation to image encoding and image decoding. However, to avoidunnecessarily obscuring the present invention, the following descriptionomits well-known structures and devices that may be shown in blockdiagram form or otherwise summarized. For the purposes of explanation,numerous specific details are set forth in order to provide a thoroughunderstanding of the present invention. It should however be appreciatedthat the present invention may be practiced in a variety of ways beyondthe specific details set forth herein.

Furthermore, while the exemplary embodiment illustrated herein show thevarious components of the system collocated, it is to be appreciatedthat the various components of this system can be located at distantportions of a distributed network, such as a LAN and/or the internet orwithin a dedicated image processing system.

Thus, it should be appreciated that the components of the imageprocessing system can be combined into one or more devices or collocatedon a particular node of a distributed network, such as a communicationsnetwork. It will be appreciated from the following description, and forreasons of computational efficiency, that the components of the imageprocessing system can be arranged at any location within a distributednetwork without affecting the operation of the system.

Furthermore, it should be appreciated that the various links connectingthe elements can be wired or wireless links, or any combination thereof,or any other known or later developed element(s) that is capable ofsupplying and/or communicating data to and from the connected elements.Additionally, the term module as used herein can refer to any known orlater developed hardware, software, or combination of hardware andsoftware that is capable of performing the functionality associated withthat element.

An image compression algorithm typically comprises a transformoperation, optionally followed by a quantization operation, followed bya coding operation. Distortion may be introduced during all three ofthese operations. Wavelet transforms are popular choices for thetransform operation due to their energy compacting properties.

Consider an image that has been decomposed into N subbands using a2-dimensional wavelet transform. Each subband can be represented asS_(i), i=1, . . . , N. Quantizing each subband S_(i) to a rate R_(i)results in some amount of distortion on the final reconstructed image.This distortion can be denoted as D_(i)(R_(i)). Assuming that thedistortion measure is additive across all subbands, the total distortionon the final image will be:$D_{total} = {\sum\limits_{i = 1}^{N}{n_{i}N_{i}{D_{i}\left( R_{i} \right)}}}$where n_(i) is the fraction of coefficients in subband i, and N_(i) is anormalization factor that accounts for the wavelet transform synthesisgain.

In JPEG2000, the distortion is a combination of the three types ofdistortions. The three types are arithmetic precision, quantizationdistortion, and codestream truncation, as described above. For example,in JPEG2000 when using the 9-7 wavelet filter, quantization andtruncation introduce distortions, while for the 5-3 wavelet filter,codestream truncation introduces distortions.

FIG. 1 illustrates an exemplary embodiment of an image quality controlsystem 10 according to this invention. In particular, the image qualitycontrol system 10 comprises an image receipt module 20, a compressionmodule 30, an image output module 40, a memory 50, a coding module 80and a distortion determination system having a quantization distortionmodule 60 and a truncation distortion module 70, all interconnected bylink 5. The quantization distortion module 60 further comprises anestimator 62 and a measurer 64. The truncation distortion module 70further comprises an estimator 72 and a measurer 74.

In accordance with a first exemplary operational embodiment, one or moreinput images 15 are received by the image receipt module 20. The imagereceipt module 20, in cooperation with one or more of the compressionmodule 30 and memory 50 commences compression of the one or more inputimages 15. During the compression operation, and in cooperation with thecoding module 80, a wavelet transform is performed on the one or moreinput images 15. If quantization is used, the coding module 80 quantizesthe wavelet coefficients and the quantization distortion module 60 oneor more of measures and estimates the quantization distortion. Forexample, the estimates can be based on a modeling routine and themeasuring can be a comparison with the original image. Illustratively,the estimates can be based on statistical and/or empirical modeling ofthe image or wavelet transform data. The distortion can be measureddirectly by comparison of the original image data to the reconstructedimage data or by comparison of the original wavelet transform data tothe dequantized wavelet transform data.

The coding module 80 then commences wavelet coefficient coding and, in asimilar manner, if truncation is used, cooperates with the truncationdistortion module 70, and in particular the estimator 72 and measurer74, to one or more of estimate and measure, respectively, the distortioncaused by the selected truncation points. For example, the estimator 72and measurer 74 can one or more of estimate and measure, respectively,the quality of the one or more compressed input images 15 and/or one ormore layers within the input images 15. The estimates can be based onstatistical and/or empirical modeling of the image and/or wavelettransform data. The distortion can be measured directly by comparison ofthe original image data to the reconstructed image data or by comparisonof the original wavelet transform data to the decoded and dequantizedwavelet transform data.

The estimated quality of the compressed input image(s) can then becompared to a target quality metric. This target quality metric can, forexample, be based on one or more of objective image quality metrics suchas, for example, the peak signal to noise ratio (pSNR), mean squarederror (MSE), or the like, or subjective metrics, such as, for example,based on human visual system models, operator inspection, psychophysicalcharacteristics, or the like.

A processor (not shown) can make the comparison between the targetquality metric(s) and the quality of the compressed image(s). If thetarget quality metric has been met, and in cooperation with the imageoutput module 40, the compressed output image(s) can be output.Optionally, and in cooperation with the processor, the quality metriccan be made available to, for example, a user, for example, on an imagedisplay device (not shown) associated with the image quality controlsystem. Furthermore, and optionally in conjunction with the displayingof the quality metric, one or more of the original image,iterativeversions of the image and the compressed image 25 can bedisplayed, for example, in a side-by-side manner for easy comparison.

However, if the compressed image(s) does not meet the quality metric(s),one or more of the quantization tables and truncation points within thecoding module 80 can be adjusted. If one or more of the quantizationtables and truncation points are adjusted, the coding module 80 isupdated and one or more of quantization and truncation are againperformed including measuring and/or estimating the quantization andtruncation point distortion and subsequent comparison to a targetquality metric. This process can continue until, for example, a specifictarget quality metric(s), if one has been specified, is met.

More specifically, and in accordance with an exemplary embodiment thatrelates directly to the 9-7 or 5-3 wavelet transform specified in theJPEG2000 Standard, the following steps are performed during thecompression operation. In particular, when the 5-3 wavelet filter isused while coding the wavelet coefficients, the truncationdistortionmodule 70 estimates and/or measures the total distortion(D_(total)) introduced if no data is included in the bitstream. Then,during truncation of the bitstream, an estimate or measurement of thedistortion reduction corresponding to each codeblock of data included inthe bitstream is performed. This total distortion reduction for all codeblocks is substracted from the total distortion figure (D_(total)) toachieve an estimate of the resulting quality of the compressed image.

As discussed above, if the compressed image or sequence of images mustmeet a specific quality target metric, the truncation points can bechanged and truncation again performed. This process can continue untilthe quality metric(s) is met. This comparison can be performed for oneor more layers within one or more images, a single image, or over aplurality of images. Additionally, this system can be dynamic and usequality metrics stored in, for example, a look-up table, that correspondto the type of image data received. For example, there may be one ormore specific image quality metrics for medical data, for web images,for publishing, or the like. Thus, it would not be necessary for a userto select a specific quality metric, but rather only need identify thetype of input image(s). For example, a user can be provided with agraphical user interface (not shown), which can include variousselectable portions that allow a user to easily specify the type ofinput image. For example, the. graphical user interface could includeselectable portions that would allow the user to specify, for example,on a scale of 1 to 10, the desired quality of a compressed image. Theimage quality control system 10 can then take this specified qualitytarget into consideration when performing compression on the one or moreinput images 15, as discussed in more detail below.

If the coding module 80 uses the 9-7 wavelet filter in a JPEG2000environment, the quantization distortion module 60 estimates and/ormeasures the distortion introduced during quantization. Then, whilecoding the quantized wavelet coefficients, an estimate or measurement ofthe total distortion (D_(total)) introduced if no data is included andthe bitstream is performed. This distortion is then added to thedistortion that was estimated or measured during quantization. Then, aswith the 5-3 wavelet filter, during truncation of the bitstream anestimate or measurement of the distortion reduction corresponding thecodeblock of data included in the bit stream is performed and the totaldistortion reduction for all codeblocks is subtracted from D_(total)),thereby providing an estimate of the resulting quality of the compressedimage. As with the 5-3 wavelet filter technique, if the compressed imageor sequence of images must meet a specific quality target, the resultscan be used to alter one or more of the quantization tables and/ortruncation points to recompress the image.

A second exemplary embodiment for image quality control utilizes atarget quality metric(s), for one or more of one or more layers withinan image(s), an image and/or a sequence of images, which is specifiedprior to quantization and truncation. In particular, upon receipt of aninput image(s) 15, the compression module 30 commences compression.Then, during the compression operation, and in cooperation with thecoding module 80, a wavelet transform is performed on the one or moreinput images 15. One or more target quality metrics are then received bythe compression module 30. For example, as previously discussed, thequality metrics can be directly input by, for example, a user, or, forexample, based on the one or more received image types. The qualitymetric(s) can be, for example, a target compression rate, a target filesize, a target quality and/or a layer target quality.

If quantization is used, and given an image(s) with certaincharacteristics, the binwidths likely to meet the received targetquality metric(s) are determined. Quantization is performed and, incooperation with the quantization distortion module 60, a measurementand/or estimate of the quantization distortion is obtained.

If quantization is not used, wavelet coefficient coding commences incooperation with the coding module 80. A determination is then madewhether truncation is used. If truncation is used, and in cooperationwith the truncation distortion module 70, and in particular with theestimator 72 and measurer 74, one or more of an estimate or measurementof the distortion for all codeblocks due to the truncation isdetermined. The truncation points that meet the one or more qualitymetrics are then selected. Once the quality metrics have been met,bitstream truncation commences and the compressed image is output.

For the quantization distortion estimation, a common technique forestimating the distortion is to assume a statistical model for thequantized wavelet coefficients. Quantization binwidths are selectedbased on this statistical assumption.

In accordance with an exemplary embodiment, it is assumed that thequantized wavelet coefficients can be modeled using a Laplacian density.Under this assumption, the distortion values can be approximated fromsimple statistics of each subband, such as the variance. However, itshould be appreciated that while Laplacian modeling is utilized in thisexemplary embodiment, in general Generalized Gaussian or any otherstatistical or empirical model could be also be used.

Similarly, for the truncation distortion estimation, an exemplarytechnique for estimating the distortion due to truncation is to assume astatistical model for the quantized wavelet coefficients. Thecontribution to the distortion due to the exclusion of each encoded bitis estimated. The total distortion introduced by truncation is the sumof the estimates of the distortions of each bit that is excluded due tothis truncation. However, it should be appreciated that whilestatistical modeling is utilized.in this exemplary embodiment, ingeneral any other statistical or empirical model could be also be used.

FIG. 2 outlines an exemplary image quality control method. Inparticular, control begins in step S10 and continues to step S20. Instep S20, compression commences. Next, in step S30, the quality of thecompressed image is estimated. Then, in step S40, a determination ismade whether a specific target quality is desired or has been specified.If a target quality has not been specified, or is not desired, controlcontinues to step S50 where the control sequence ends. Optionally, thequality metric can be made available, for example, to a user on an imageprocessing system. Otherwise, control jumps to step S60.

In step S60, a determination is made whether one or more of: one or moreimage layers, one or more images, a sequence of images and/or one ormore sequences of images have met the specific quality target specifiedby one or more image quality metrics. As discussed, these qualitymetrics can relate to, for example, one or more of pSNR, MSE, a targetcompression rate, a target file size, a target quality, layer(s) targetquality, or the like.

If the one or more quality metrics have been met, control jumps to stepS70 where the control sequence ends. Optionally, as discussed above, thequality metric can be made available to, for example, a user or otherentity to allow, for example, an indication as to the success of thecompression. Otherwise, control continues to step S80.

In step S80, one or more compression parameters are adjusted and controljumps back to step S20.

FIG. 3 outlines a second exemplary method of operation for image qualitycontrol. In particular, control begins in step S100 and continues tostep S10. In step S110, compression of one or more received images basedon a quality metric(s) begins. Next, in step S120, the wavelet transformis performed. Then, in step S130, a determination is made whetherquantization is to be used. If quantization is to be used, controlcontinues as step S140. Otherwise, control jumps to step S160.

In step S140, quantization is performed. Then, in step S150, ameasurement and/or estimate of the quantization distortion isdetermined. For example, the estimate can be based on, for example,statistical and/or empirical modeling of the image or wavelet transformdata. The distortion can be measured directly by comparison of theoriginal image data to the reconstructed image data or by comparison ofthe original wavelet transform data to the dequantized wavelet transformdata. Control then continues to step S16O.

In step S160, wavelet coefficient coding is commenced. Next, in stepS170 , a determination is made whether truncation is used. If truncationis not used, control jumps to step S200. Otherwise, control continues tostep S180.

In step S180, an estimate and/or measurement of the distortion from thetruncation points is performed. Then, in step S190, bitstream truncationcommences. As with the measurement and/or estimate of the quantizationdistortion, the estimate and/or measurement of the distortion fortruncation points can be based on one or more of a modeling techniqueand/or comparison to the original image. Control then continues to stepS200.

In step S200, an estimate of the quality of the compressed image isdetermined. Next, in step S210, a determination is made whether aspecific target quality is desired. If a specific target quality is notdesired, control continues to step S220 where the control sequence ends.Otherwise, control continues to step S230 where a determination is madewhether one or more quality metrics have been met.

If one or more quality metrics have been met, control continues to stepS240 where the control sequence ends. Otherwise, control jumps to stepS250 where a determination is made whether to adjust the quantizationtables. If the quantization tables are to be adjusted, control continuesto step S260 where the quantization tables are adjusted. Otherwise,control jumps to step S270.

In step S270, a determination is made whether to change the truncationpoints. If the truncation points are to be changed, control continues tostep S280 where the truncation points are adjusted. Control thencontinues to step S290 where control returns back to step S130.

If the truncation points are not to be changed, control continues tostep S300 where control continues back to step S130 if the quantizationtables are to be adjusted, otherwise the control sequence ends.

FIG. 4 outlines a third exemplary embodiment of image quality controlwhere, for example, a user specifies a target quality metric(s) prior toquantization and truncation. In particular, control begins as step S400and continues to step S410. In step S410, compression commences. Then,in step S420, the wavelet transform is performed. Then, in step S430,one or more target quality metrics are received. For example, aspreviously discussed, the quality metrics can be directly input by, forexample, a user, or, for example, based on the one or more receivedimage types. The quality metric(s) can be, for example, a targetcompression rate, a target file size, a target quality and/or a layertarget quality. Control then continues to step S440. In step S440, adetermination is made whether quantization is used. If quantization isused, control continues to step S450. Otherwise, control jumps to stepS480.

In step S450, and given an image(s) with certain characteristics, thebinwidths likely to meet the received target quality metric(s) aredetermined. Next, in step S460, quantization is performed. Then, in stepS470, a measurement and/or estimate of the quantization distortion isobtained. Control then continues to step S480.

In step S480, wavelet coefficient coding commences. Next, in step S490,a determination is made whether truncation is used. If truncation is notused, control jumps to step S520. Otherwise, control continues to stepS500.

In step S500, one or more of an estimate or measurement of thedistortion of the truncation points is determined. Next, in step S510,truncation points are selected to meet the one or more quality metrics.Then, in step S520, bitstream-truncation commences. Control thencontinues to step S530.

In step S530, the compressed image is output. Control then continues tostep S540 where the control sequence ends.

As an illustrative example, using lossy compression techniques with, forexample, medical images, requires strict controls to maintain imagequality. A commonly used practice is to select a target compressionratio or a target file size that has been predetermined to provide aparticular diagnostic quality. The compression ratio is chosen throughempirical methods and is dependent on the type of image: typical dynamicrange, image resolution, bit depth, etc. This process usually results inthe selection of an appropriate compression ratio for each modality ortype of images. The compression goals can be further modified to reflecthow the images will be used (fast browsing, reference viewing ordiagnostic reading), who the user is (radiologist, referring physician,insurance company), and system limitations such as available bandwidth.The selected target compression ratio or target file size is thus areflection of the desired quality, not a direct measure of imagequality. Using the exemplary. techniques of this invention, it ispossible to directly specify the target image, quality.

For example, one of the most common quantitative measures used is of aclass of criteria often called the “mean square criterion.” In manyimage coding applications, the mean square error is often expressed interms of a peak signal-to-noise ratio, pSNR.

While there are many image quality models, an exemplary techniqueimplements a pSNR measurement. This pSNR measurement can be calculatedas follows:${- 20}*{\log_{10}\left\lbrack {\sum\limits^{N}\frac{\left( {x - x^{1}} \right)^{2}}{N*{Range}}} \right\rbrack}$Where x is the original pixel value, x¹ is the decompressed pixel value,N is the number of pixels, and Range is the range of the pixel data ofthe original image, i.e., max(x)- min(x).

A target pSNR value can be specified for the overall image or for eachquality layer of a JPEG2000 encoded image. This can be used with theprogressive display capabilities of JPEG2000 to set minimum imagequality values for each layer that is transmitted and displayed. FIG. 5illustrates a chart of file size vs. pSNR for a series of 38 CT imagesfrom one study. All of the images were compressed using the abovetechniques and a target compression ratio of 30:1. The original imageshave a dimension of 512×512 pixels and a bit depth of 16 bits per pixel.While the images. were all compressed to the same target file size, itcan be seen that the resulting pSNR varies from image to image.

FIG. 6 illustrates the same series of images compressed to a target pSNRof 64 dB. The resulting compressed images were within a 0.3 dB rangearound the specified target pSNR while the resulting file sizes varied+20% to −20% around the mean file size.

It is also possible to specify a target pSNR for each quality layerwithin the JPEG2000 file. FIG. 7 illustrates a plot of the actual pSNRand the target pSNR for a JPEG2000 file with 10 quality layers.

The above-described systems and methods can be implemented on an imageprocessing device, an encoding/decoding device, or the like, or on aseparate programmed general purpose computer having image processingcapabilities. Additionally, the systems and methods of this inventioncan be implemented on a special purpose computer, a programmedmicroprocessor or microcontroller and peripheral integrated circuitelement(s), an ASIC or other integrated circuit, a digital signalprocessor, a hard-wired electronic or logic circuit such as discreteelement circuit, a programmable logic device such as PLD, PLA, FPGA,PAL, or the like. In general, any device capable of implementing a statemachine that is inturn capable of implementing the flowchartsillustrated herein can be used to implement the image. processing systemaccording to this invention.

Furthermore, the disclosed methods may be readily implemented insoftware using object or object-oriented software developmentenvironments that provide portable source code that can be used on avariety of computer or workstation platforms. Alternatively, thedisclosed system may be implemented partially or fully in hardware usingstandard logic circuits or a VLSI design. Whether software or hardwareis used to implement the systems in accordance with this invention isdependent on the speed and/or efficiency requirements of the system, theparticular function, and the particular software or hardware systems ormicroprocessor or microcomputer systems being utilized. The systems andmethods illustrated herein however can be readily implemented inhardware and/or software using any known or later developed systems orstructures, devices and/or software by those of ordinary skill in theapplicable art from the functional description provided herein and witha general basic knowledge of the computer and data encoding/decodingarts.

Moreover, the disclosed methods may be readily implemented in softwareexecuted on programmed general purpose computer, a special purposecomputer, a microprocessor, or the like. In these instances, the systemsand methods of this invention can be implemented as program embedded onpersonal computer such as JAVA® or CGI script, as a resource residing ona server or graphics workstation, as a routine embedded in a dedicatedencoding/decoding system, as a plug-in, or the like. The system,methodology and protocols can also be implemented by physicallyincorporating the system and method into a software and/or hardwaresystem, such as the hardware and software systems of an image processor.

It is, therefore, apparent that there has been provided, in accordancewith the present invention, systems and methods for controlling imagequality. While this invention has been described in conjunction with anumber of embodiments, it is evident that many alternatives,modifications and variations would be or are apparent to those ofordinary skill in the applicable arts. Accordingly, it is intended toembrace all such alternatives, modifications, equivalents and variationsthat are within the spirit and scope of this invention.

1. An image quality control system comprising: a compression moduleconfigured to receive one or more of an image and an image sequence; anda distortion determination system configured to compress the one or moreof the image and the image sequence based on one or more qualitymetrics.
 2. The system of claim 1, further comprising a truncationdistortion module configured to receive the one or more quality metricsand to select truncation points that meet the one or more qualitymetrics based on one or more of an estimation or measurement of thedistortion caused by truncation.
 3. The system of claim 2, wherein atruncation measurement module is configured to compare original imagedata to reconstructed image data or to compare original wavelettransform data to decoded and dequantized wavelet transform data.
 4. Thesystem of claim 2, wherein a truncation estimator module is configuredto utilize a statistical or empirical model for quantized waveletcoefficients to determine a contribution to distortion due to theexclusion of each encoded bit.
 5. The system of claim 2, wherein atruncation estimator module is configured to utilize a statistical orempirical model for quantized wavelet coefficients to determine areduction in distortion due to the inclusion of each encoded bit.
 6. Thesystem of claim 1, further comprising a quantization distortion moduleconfigured to determinequantization binwidths that meet the one or morequality metrics.
 7. The system of claim 6, wherein a quantizationestimation module utilizes a statistical or empirical model forquantized wavelet coefficients with the quantization binwidths beingselected based on the statistical or empirical model.
 8. The system ofclaim 6, wherein a quantization measurement module is configured tocompare original image data to reconstructed image data or to compareoriginal wavelet transform data to decoded and decoded and dequantizedwavelet transform data.
 9. The system of claim 1, further comprising acoding module adapted to perform wavelet coefficient coding.
 10. Thesystem of claim 1, wherein the image quality control system is furtherconfigured to receive the one or more quality metrics.
 11. The system ofclaim 1, wherein the image quality control system is further configuredto determine the one or more quality metrics based on the input image orthe image sequence.
 12. The system of claim 1, wherein the one or morequality metrics can specify a quality for one or more of: one or moreimage layers, one or more images, a sequence of images and one or moresequences of images.
 13. The system of claim 1, wherein the one or morequality metrics are based on one or more of a pSNR, a MSE, a targetquality and a target layer quality.
 14. An image quality control methodcomprising: receiving one or more of an input image and an imagesequence; and compressing the one or more of the image and the imagesequence based on one or more quality metrics.
 15. The method of claim14, further comprising receiving the one or more quality metrics andselecting the truncation points that meet the one or more qualitymetrics based on one or more of an estimation or measurement of thedistortion caused by truncation.
 16. The method of claim 15, furthercomprising comparing original image data to reconstructed image data orcomparing original wavelet transform data to decoded and dequantizedwavelet transform data.
 17. The method of claim 15, further comprisingutilizing a statistical or empirical model to determine a contributionto distortion due to the exclusion of an encoded bit.
 18. The method ofclaim 15, further comprising utilizing a statistical or empirical modelto determine a reduction in distortion due to the inclusion of anencoded bit.
 19. The method of claim 14, further comprising determiningquantization binwidths that meet the one or more quality metrics. 20.The method of claim 19, further comprising utilizing a statistical orempirical model to assist in determining the quantization binwidths. 21.The method of claim 19, further comprising comparing original image datato reconstructed image data or comparing original wavelet transform datato decoded and dequantized wavelet transform data.
 22. The method ofclaim 14, further comprising performing wavelet coefficient coding. 23.The method of claim 14, further comprising receiving the one or morequality metrics.
 24. The method of claim 14, further comprisingdetermining the one or more quality metrics based on the input image orthe image sequence.
 25. The method of claim 14, wherein the one or morequality metrics can specify a quality for one or more of: one or moreimage layers, one or more images, a sequence of images and one or moresequences of images.
 26. The method of claim 14, wherein the one or morequality metrics are based on one or more of a pSNR, a MSE, a targetquality and a target layer quality.
 27. An image quality systemcomprising: means for receiving one or more of an input image and animage sequence; and means for compressing the one or more of the imageand the image sequence based on one or more quality metrics.
 28. Thesystem of claim 27, wherein the one or more quality metrics are based onone or more of a pSNR, a MSE, a target quality and a target layerquality.
 29. An image quality system comprising: means for receiving oneor more of an input image and an image sequence; means for compressingthe one or more of the image and the image sequence; and means formaking available a quality metric of one or more of the compressed imageand the image sequence.
 30. An image quality method comprising:receiving one or more of an input image and an image sequence;compressing the one or more of the image, and the image sequence; andmaking available a quality metric of one or more of the compressed imageand the image sequence.
 31. An image quality control system comprising:a compression module configured to receive one or more of an image andan image sequence; a distortion determination system configured tocompress the one or more of the image and the image sequence; and animage output module configured to display a quality metric of one ormore of the compressed image and the image sequence.